package graphicsExtended.animation.drawer;

import graphicsExtended.animation.animationSequence.StillFrame;
import tuples.Pair;

/**
 *
 * @author Shimu
 * @date 7-Oct-2012
 */
public interface StillFrameDrawer {

    /** 
     * The origin is at the top left corner. The
     * x value increases from left to right. The y value
     * increases from top to bottom. This is the default
     * coordinate space in Java.
     */
    public final static int TOP_LEFT = 0;

    /** 
     * The origin is at the bottom left corner. The x value
     * increases from left to right. The y value increases from
     * bottom to top. This is likely the coordinate space that most 
     * people are use to as it is the coordinate space on graphs. 
     */
    public final static int BOTTOM_LEFT = 1;

    /**
     * Optional operation
     */
    public void setCoordinateSpace(int coordinateSpace);

    /**
     * Optional operation
     * @return 
     */
    public int getCoordinateSpace();

    /**
     * Push the given stillFrame into the StillFrameDrawer
     * @param stillFrame 
     */
    public void draw(StillFrame stillFrame);

    public void erase(int x, int y, int width, int height);
}
